package com.hong.uitls;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.util.ResourceBundle;

public class JedisUtil {

    private static JedisPool pool;

    static{
        /*
            ResourceBundle:
            1. 原理: 封装Properties和类加载器
            2. 限制:
                1). 只能加载properties文件
                2). 文件只能在类路径下(classpath)
            3. 代码书写注意点:
                无需设置后缀名
         */
        ResourceBundle bundle = ResourceBundle.getBundle("redis");
        //1. 创建连接池
        String host = bundle.getString("host");
        int port = Integer.parseInt(bundle.getString("port"));
        int maxTotal = Integer.parseInt(bundle.getString("maxTotal"));
        int maxIdle = Integer.parseInt(bundle.getString("maxIdle"));
        int maxWaitMillis = Integer.parseInt(bundle.getString("maxWaitMillis"));

        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(maxTotal); //最大连接数
        config.setMaxIdle(maxIdle); // 最大空闲数
        config.setMaxWaitMillis(maxWaitMillis); // 最长等待时间
        pool = new JedisPool(config, host, port);

    }

    public static Jedis getResource(){
        //2. 获取连接
        Jedis jedis = pool.getResource();
        return jedis;
    }
}
